package com.slofzx.nuoda.evaluation.project.dto;


import com.baomidou.mybatisplus.annotation.TableField;
import com.slofzx.nuoda.common.dto.CommonFilterQueryDTO;
import com.slofzx.nuoda.common.dto.PageDTO;
import org.apache.ibatis.type.JdbcType;

import java.util.List;
import java.util.Set;

/**
 * 评价任务基本信息表数据传递类
 *
 * @author nuoda
 * @since 2023-10-20 09:08:54
 */
public class BatchInfoDTO extends CommonFilterQueryDTO {
    private static final long serialVersionUID = -98604797514357037L;
    /**
     * 主键ID
     */
    private String id;
    /**
     * 名称
     */
    private String name;
    /**
     * 任务年度
     */
    private Integer year;
    /**
     * 公共参数版本
     */
    private String paramVersion;
    /**
     * 评价模型ID
     */
    private String modelId;
    /**
     * 当前状态，锁定，未锁定
     */
    private String state;
    /**
     * 总投资（万元）
     */
    private Double totalInvest;
    /**
     * 项目总数（个）
     */
    private Integer projectTotalCount;
    /**
     * 合格项目数（个）
     */
    private Integer projectPassCount;
    /**
     * 成本测算方式
     */
    private String costEvaMethod;

    /**
     * 任务类型
     */
    private String type;
    /**
     * 是否截断
     */
    private boolean cutoff;

    /**
     * 任务性质
     */
    private String quality;
    /**
     * 产品类型
     */
    private String productType;

    private List<BatchCommonDataDTO> batchCommonDTOList;

    private Set<String> idList;
    /**
     * 批次版本id
     */
    private String versionId;
    /**
     * 创建人
     */
    private String createUser;

    public BatchInfoDTO() {
        //默认查询不分页
        this.pageSize = PageDTO.ALL;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public boolean isCutoff() {
        return cutoff;
    }

    public void setCutoff(boolean cutoff) {
        this.cutoff = cutoff;
    }

    public String getVersionId() {
        return versionId;
    }

    public void setVersionId(String versionId) {
        this.versionId = versionId;
    }

    public String getQuality() {
        return quality;
    }

    public void setQuality(String quality) {
        this.quality = quality;
    }

    public Integer getYear() {
        return year;
    }

    public void setYear(Integer year) {
        this.year = year;
    }

    public Set<String> getIdList() {
        return idList;
    }

    public void setIdList(Set<String> idList) {
        this.idList = idList;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getProductType() {
        return productType;
    }

    public void setProductType(String productType) {
        this.productType = productType;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getParamVersion() {
        return paramVersion;
    }

    public void setParamVersion(String paramVersion) {
        this.paramVersion = paramVersion;
    }

    public String getModelId() {
        return modelId;
    }

    public void setModelId(String modelId) {
        this.modelId = modelId;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public Double getTotalInvest() {
        return totalInvest;
    }

    public void setTotalInvest(Double totalInvest) {
        this.totalInvest = totalInvest;
    }

    public Integer getProjectTotalCount() {
        return projectTotalCount;
    }

    public void setProjectTotalCount(Integer projectTotalCount) {
        this.projectTotalCount = projectTotalCount;
    }

    public Integer getProjectPassCount() {
        return projectPassCount;
    }

    public void setProjectPassCount(Integer projectPassCount) {
        this.projectPassCount = projectPassCount;
    }

    public String getCostEvaMethod() {
        return costEvaMethod;
    }

    public void setCostEvaMethod(String costEvaMethod) {
        this.costEvaMethod = costEvaMethod;
    }

    public List<BatchCommonDataDTO> getBatchCommonDTOList() {
        return batchCommonDTOList;
    }

    public void setBatchCommonDTOList(List<BatchCommonDataDTO> batchCommonDTOList) {
        this.batchCommonDTOList = batchCommonDTOList;
    }

    public Boolean getCutoff() {
        return cutoff;
    }

    public void setCutoff(Boolean cutoff) {
        this.cutoff = cutoff;
    }

    @Override
    public String toString() {
        return "BatchInfo{" +
                ",id=" + id +
                ",name=" + name +
                ",paramVersion=" + paramVersion +
                ",modelId=" + modelId +
                ",state=" + state +
                ",totalInvest=" + totalInvest +
                ",projectTotalCount=" + projectTotalCount +
                ",projectPassCount=" + projectPassCount +
                ",costEvaMethod=" + costEvaMethod +
                "}";
    }

}
